var QueryForm; // 查询表单
var DetailDamageForm; // 资产报损详情表单
var QueryWindow; // 查询窗口
var DetailDamageWindow; // 资产报损详细信息窗口
var DeleteWindow;
var DamageGridPanel, BSDeleteGridPanel;
var DamageStore; // 存放查询数据的表格的存贮变量
var BSDeleteStore;
var selections, removeDelete;

var DeleteSelectedAsset = function() {
	BuildDeleteBSGrid();
	BuildDeleteWindow();

	var length = selections.length;

	for (var i = 0; i < length; i++) {
		var record = selections[i];
		BSDeleteStore.add(record);
	}

	DeleteWindow.show();
}

/*
 * 在表格中删除数据
 */
var AccessDBtoDelete = function() {
	var length = removeDelete.length;

	for (var i = 0; i < length; i++) {
		var record = removeDelete[0];
		BSDeleteStore.remove(record);
	}
}

/*
 * 访问数据库，删除数据
 */
var DeleteBS = function() {
	var deleteAsset = ","
	for (var i = 0; i < BSDeleteStore.getCount(); i++) {
		var record = BSDeleteStore.getAt(i);
		deleteAsset = deleteAsset + record.get('assetNo') + ",";
	}

	Ext.Ajax.request({
				url : '/FAM/deleteAssetBsServlet',
				success : function(response, opts) {
					var result = Ext.util.JSON.decode(response.responseText);
					if (result.success) {
						Ext.Msg.alert('成功', result.msg);
					}
					insertUserLog(5);
				},
				failure : function() {
					insertUserLog(6)
				},
				params : {
					assetNo : deleteAsset
				}
			});
}

/*
 * 通过查询条件连接数据库得到数据 --- 未完成
 * 
 */
var Query = function() {
	DamageStore.baseParams['start'] = '0';
	DamageStore.baseParams['limit'] = '15';
	DamageStore.baseParams['assetNo'] = QueryForm.form.findField('AssetNo')
			.getValue();
	DamageStore.baseParams['useDepartment'] = QueryForm.form
			.findField('UseDepartment').getValue();
	DamageStore.baseParams['damageReason'] = QueryForm.form
			.findField('DamageReason').getValue();
	DamageStore.baseParams['assetName'] = QueryForm.form.findField('AssetName')
			.getValue();

	QueryWindow.hide();
	DamageStore.load();
}

/*
 * 建立存放资产报损信息的布局
 */
var BuildDamageGrid = function() {
	var SelectModel = new Ext.grid.CheckboxSelectionModel({
				listeners : {
					selectionchange : function(sm) {
						selections = DamageGridPanel.getSelectionModel()
								.getSelections();

						if (sm.getCount()) {
							DamageGridPanel.removeButton.enable();
							DamageGridPanel.updateButton.enable();
						} else {
							DamageGridPanel.removeButton.disable();
							DamageGridPanel.updateButton.disable();
						}
					}
				}
			});

	var DamageColumnModel = new Ext.grid.ColumnModel([
			new Ext.grid.RowNumberer(), SelectModel, {
				header : '资产编号',
				width : 80,
				sortable : true,
				dataIndex : 'assetNo'
			}, {
				header : '设备名称',
				width : 80,
				sortable : true,
				dataIndex : 'name'
			}, {
				header : '使用部门',
				width : 60,
				sortable : true,
				dataIndex : 'department'
			}, {
				header : '使用负责人',
				width : 80,
				sortable : true,
				dataIndex : 'principal'
			}, {
				header : '目前状态',
				width : 60,
				sortable : true,
				dataIndex : 'nowStatus'
			}, {
				header : '启用日期',
				sortable : true,
				dataIndex : 'startUseTime',
				type : 'date',
				renderer : Ext.util.Format.dateRenderer('Y年m月d日')
			}, {
				header : '鉴 定 人',
				width : 50,
				sortable : true,
				dataIndex : 'appraisaler'
			}, {
				header : '鉴 定 日期',
				sortable : true,
				dataIndex : 'appraisalTime',
				type : 'date',
				renderer : Ext.util.Format.dateRenderer('Y年m月d日')
			}]);

	var DamageRecord = new Ext.data.Record.create([{
				name : 'assetNo'
			}, {
				name : 'name'
			}, {
				name : 'model'
			}, {
				name : 'money'
			}, {
				name : 'startUseTime',
				type : 'date',
				dateFormat : 'Y-m-d H:i:s'
			}, {
				name : 'lifeYears'
			}, {
				name : 'department'
			}, {
				name : 'principal'
			}, {
				name : 'nowStatus'
			}, {
				name : 'remark'
			}, {
				name : 'damageReason'
			}, {
				name : 'appraisalOpinion'
			}, {
				name : 'appraisaler'
			}, {
				name : 'appraisalTime',
				type : 'date',
				dateFormat : 'Y-m-d H:i:s'
			}]);

	DamageStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '/FAM/selectAssetBsServlet'
						}),
				reader : new Ext.data.JsonReader({
							totalProperty : 'total',
							root : 'result'
						}, DamageRecord)
			});

	DamageGridPanel = new Ext.grid.GridPanel({
				title : '查询的资产信息(提示：~^0^~ 双击表格中的某行可以查看该行的详情 ~^0^~)',
				width : '100%',
				height : 500,
				layout : 'fit',
				store : DamageStore,
				cm : DamageColumnModel,
				sm : SelectModel,
				stripeRows : true,
				loadMask : true,
				viewConfig : {
					forceFit : true
				},
				plugins : new Ext.ux.PanelResizer({
							minHeight : 100
						}),
				tbar : [{
							iconCls : 'add',
							tooltip : '添加一个资产记录',
							text : '添加',
							handler : function() {
								addAssetBSWindow.show();
								// Ext.getCmp('delete').hide();
								// AssetColumnModel.setHidden(1, true);
							}
						}, '-', {
							iconCls : 'delete',
							tooltip : '删除选中的资产信息',
							text : '删  除',
							ref : '../removeButton',
							disabled : true,
							handler : DeleteSelectedAsset
						}, '-', {
							iconCls : 'edit',
							text : '修 改',
							ref : '../updateButton',
							disabled : true,
							tooltip : '修改选中的资产信息',
							handler : function() {
								if (selections.length > 1) {
									alert("你只能选择一条记录");
									SelectModel.clearSelections();
								} else {
									for (var i = 0; i < selections.length; i++) {

										var record = selections[i];
										updateAssetBSWindow.show();
										updateAssetBSForm.getForm()
												.loadRecord(record);
									}
								}

							}
						}, '-', {
							iconCls : 'query',
							text : '查  询',
							tooltip : '查询资产报损信息',
							handler : function() {
								QueryWindow.show();
							}
						}],
				bbar : new Ext.PagingToolbar({
							pageSize : 15,
							store : DamageStore,
							displayInfo : true,
							plugins : new Ext.ux.ProgressBarPager()
						})
			});

	DamageGridPanel.addListener('rowdblclick', function(DamageGridPanel,
			rowIndex, event) // 将AssetGridPanel的数据加载到UpdataFormPanel中
			{
				var record = DamageGridPanel.getStore().getAt(rowIndex);
				DetailDamageWindow.show();
				DetailDamageForm.getForm().loadRecord(record);
			});
}

var BuildDeleteBSGrid = function() {
	var SelectModel = new Ext.grid.CheckboxSelectionModel({
				listeners : {
					selectionchange : function(sm) {
						removeDelete = BSDeleteGridPanel.getSelectionModel()
								.getSelections();

						if (sm.getCount()) {
							BSDeleteGridPanel.removeButton.enable();
						} else {
							BSDeleteGridPanel.removeButton.disable();
						}
					}
				}
			});

	var DamageColumnModel = new Ext.grid.ColumnModel([
			new Ext.grid.RowNumberer(), {
				header : '资产编号',
				width : 80,
				sortable : true,
				dataIndex : 'assetNo'
			}, {
				header : '设备名称',
				width : 80,
				sortable : true,
				dataIndex : 'name'
			}, {
				header : '使用部门',
				width : 60,
				sortable : true,
				dataIndex : 'department'
			}, {
				header : '使用负责人',
				width : 80,
				sortable : true,
				dataIndex : 'principal'
			}, {
				header : '目前状态',
				width : 60,
				sortable : true,
				dataIndex : 'nowStatus'
			}, {
				header : '鉴 定 人',
				width : 50,
				sortable : true,
				dataIndex : 'appraisaler'
			}, SelectModel]);

	var DamageRecord = new Ext.data.Record.create([{
				name : 'assetNo'
			}, {
				name : 'name'
			}, {
				name : 'model'
			}, {
				name : 'money'
			}, {
				name : 'startUseTime'
			}, {
				name : 'lifeYears'
			}, {
				name : 'department'
			}, {
				name : 'principal'
			}, {
				name : 'nowStatus'
			}, {
				name : 'remark'
			}, {
				name : 'damageReason'
			}, {
				name : 'appraisalOpinion'
			}, {
				name : 'appraisaler'
			}, {
				name : 'appraisalTime'
			}]);

	BSDeleteStore = new Ext.data.Store({
				proxy : new Ext.data.MemoryProxy(),
				reader : new Ext.data.ArrayReader({}, DamageRecord)
			});

	BSDeleteGridPanel = new Ext.grid.GridPanel({
				title : '已选中要删除的资产信息',
				layout : 'fit',
				width : '100%',
				autoHeight : true,
				store : BSDeleteStore,
				cm : DamageColumnModel,
				sm : SelectModel,
				stripeRows : true,
				loadMask : true,
				tbar : ['->', {
							iconCls : 'delete',
							tooltip : '移除选中要删除的资产信息',
							text : '移  除',
							ref : '../removeButton',
							disabled : true,
							handler : AccessDBtoDelete
						}]
			});
}
var getData = function() {
	var aNo = addAssetBSForm.form.findField('AssetNo').getValue();

	Ext.Ajax.request({
				url : '/FAM/getAssetServlet',
				success : function(response, opts) {
					var record = Ext.util.JSON.decode(response.responseText);
					addAssetBSForm.form.findField('Model')
							.setValue(record.model);
					addAssetBSForm.form.findField('Name').setValue(record.name);
					addAssetBSForm.form.findField('Department')
							.setValue(record.department);
					addAssetBSForm.form.findField('Principal')
							.setValue(record.principal);
					addAssetBSForm.form.findField('LifeYears')
							.setValue(record.lifeYears);
					addAssetBSForm.form.findField('Money')
							.setValue(record.money);
					addAssetBSForm.form.findField('StartUseTime')
							.setValue(record.startUseTime);
				},
				failure : Ext.emptyFn(),
				params : {
					assetNo : aNo
				}
			});

}
var Asset_cb = new Ext.form.ComboBox({
			fieldLabel : '资产编号',
			name : 'AssetNo',
			store : new Ext.data.Store({
						proxy : new Ext.data.HttpProxy({
									url : '/FAM/getAssetNoServlet'
								}),
						reader : new Ext.data.JsonReader({
									root : 'assetNo'
								}, ['assetNo']),
						autoLoad : false
					}),
			emptyText : '请选择',
			mode : 'remote',
			triggerAction : 'all',
			valueField : 'assetNo',
			displayField : 'assetNo',
			readOnly : true
		})

Asset_cb.on('select', getData);
var addAssetBSForm = new Ext.form.FormPanel({
			frame : true,
			width : '100%',
			autoHeight : true,
			labelAlign : 'right',
			labelWidht : 60,
			items : [{
				layout : 'column',
				items : [{
							columnWidth : .5,
							layout : 'form',
							xtype : 'fieldset',
							title : '资产报损信息',
							autoHeight : true,
							defaultType : 'textfield',
							defaults : {
								width : 150
							},
							items : [Asset_cb, {
										fieldLabel : '规格型号',
										name : 'Model',
										allowBlank : false
									}, {
										fieldLabel : '使用部门',
										name : 'Department',
										allowBlank : false
									}, {
										fieldLabel : '规定使用年限',
										name : 'LifeYears',
										xtype : 'numberfield',
										allowBlank : false
									}, {
										fieldLabel : '鉴定人',
										name : 'Appraisaler'
									}, {
										fieldLabel : '鉴定日期',
										name : 'AppraisalTime',
										xtype : 'datefield',
										format : 'Y-m-d',
										allowBlank : false
									}]
						}, {
							columnWidth : .5,
							layout : 'form',
							xtype : 'fieldset',
							title : '资产报损信息',
							autoHeight : true,
							defaults : {
								width : 150
							},
							style : 'margin-left: 30px;',
							defaultType : 'textfield',
							items : [{
										fieldLabel : '设备名称',
										name : 'Name',
										allowBlank : false
									}, {
										fieldLabel : '原始金额(RMB)',
										name : 'Money',
										allowBlank : false
									}, {
										fieldLabel : '使用负责人',
										name : 'Principal',
										allowBlank : false
									}, {
										fieldLabel : '启用时间',
										name : 'StartUseTime',
										xtype : 'datefield',
										format : 'Y-m-d',
										allowBlank : false,
										readOnly : true
									}, {
										fieldLabel : '目前状况',
										name : 'NowStatus',
										xtype : 'combo',
										store : new Ext.data.SimpleStore({
													fields : ['text'],
													data : [['一级[新品]'],
															['二级[正常使用]'],
															['三级[可使用]'],
															['四级[破旧]'],
															['级外[残]']]
												}),
										emptyText : '请选择',
										mode : 'local',
										triggerAction : 'all',
										valueField : 'text',
										displayField : 'text',
										allwoBlank : false,
										readOnly : true
									}, {
										fieldLabel : '报损理由',
										name : 'DamageReason',
										xtype : 'combo',
										store : new Ext.data.SimpleStore({
													fields : ['text'],
													data : [['技术落后，已不使用'],
															['更新换代后淘汰'],
															['残品，无修理价值']]
												}),
										emptyText : '请选择',
										mode : 'local',
										triggerAction : 'all',
										valueField : 'text',
										displayField : 'text',
										allowBlank : false,
										readOnly : true
									}]
						}]
			}, {
				xtype : 'fieldset',
				title : '资产报损信息',
				autoHeight : true,
				items : [{
							fieldLabel : '损坏原因',
							width : '95%',
							height : 25,
							xtype : 'textarea',
							name : 'Remark',
							allowBlank : false
						}, {
							fieldLabel : '鉴定意见',
							width : '95%',
							height : 25,
							xtype : 'textarea',
							name : 'AppraisalOpinion',
							allowBlank : false
						}]
			}]
		});

var updateAssetBSForm = new Ext.form.FormPanel({
			frame : true,
			labelAlign : 'right',
			labelWidht : 60,
			items : [{
				layout : 'column',
				items : [{
					columnWidth : .5,
					layout : 'form',
					xtype : 'fieldset',
					title : '报损信息',
					autoHeight : true,
					defaults : {
						width : 150,
						allowBlank : false
					},
					defaultType : 'textfield',
					items : [{
								fieldLabel : '资产编号',
								name : 'assetNo'
							}, {
								fieldLabel : '资产型号',
								name : 'model'
							}, {
								fieldLabel : '使用部门',
								name : 'department',
								xtype : 'combo',
								store : new Ext.data.Store({
											proxy : new Ext.data.HttpProxy({
														url : '/FAM/DictInfoServlet'
													}),
											reader : new Ext.data.JsonReader({
														root : 'department'
													}, ['name']),
											autoLoad : false
										}),
								emptyText : '请选择',
								mode : 'remote',
								triggerAction : 'all',
								valueField : 'name',
								displayField : 'name'
							}, {
								fieldLabel : '规定使用年限',
								name : 'lifeYears'
							}, {
								fieldLabel : '目前状况',
								name : 'nowStatus',
								xtype : 'combo',
								store : new Ext.data.SimpleStore({
											fields : ['text'],
											data : [['一级[新品]'], ['二级[正常使用]'],
													['三级[可使用]'], ['四级[破旧]'],
													['级外[残]']]
										}),
								emptyText : '请选择',
								mode : 'local',
								triggerAction : 'all',
								valueField : 'text',
								displayField : 'text',
								allwoBlank : false,
								readOnly : true
							}, {
								fieldLabel : '鉴定人',
								name : 'appraisaler'
							}]
				}, {
					columnWidth : .5,
					layout : 'form',
					xtype : 'fieldset',
					title : '报损信息',
					autoHeight : true,
					defaults : {
						width : 150,
						allowBlank : false
					},
					style : 'margin-left: 30px;',
					defaultType : 'textfield',
					items : [{
								fieldLabel : '设备名称',
								name : 'name'
							}, {
								fieldLabel : '原始金额(RMB)',
								name : 'money',
								xtype : 'numberfield'
							}, {
								fieldLabel : '使用负责人',
								name : 'principal'
							}, {
								fieldLabel : '启用时间',
								name : 'startUseTime',
								xtype : 'datefield',
								format : 'Y-m-d',
								allowBlank : false,
								readOnly : true
							}, {
								fieldLabel : '报损理由',
								name : 'damageReason',
								xtype : 'combo',
								store : new Ext.data.SimpleStore({
											fields : ['text'],
											data : [['技术落后，已不使用'], ['更新换代后淘汰'],
													['残品，无修理价值']]
										}),
								emptyText : '请选择',
								mode : 'local',
								triggerAction : 'all',
								valueField : 'text',
								displayField : 'text',
								allowBlank : false,
								readOnly : true
							}, {
								fieldLabel : '鉴定日期',
								name : 'appraisalTime',
								xtype : 'datefield',
								format : 'Y-m-d',
								allowBlank : false,
								readOnly : true
							}]
				}]
			}, {
				xtype : 'fieldset',
				title : '报损信息',
				items : [{
							fieldLabel : '报损原因',
							width : '95%',
							xtype : 'textfield',
							name : 'remark'
						}, {
							fieldLabel : '鉴定意见',
							width : '95%',
							xtype : 'textfield',
							name : 'appraisalOpinion'
						}]
			}]
		});
/*
 * 双击表格行的时候存放资产报损详细信息的布局
 */
var BuildDetailDamageForm = function() {
	DetailDamageForm = new Ext.form.FormPanel({
				frame : true,
				labelAlign : 'right',
				labelWidht : 60,
				items : [{
							layout : 'column',
							items : [{
										columnWidth : .5,
										layout : 'form',
										xtype : 'fieldset',
										title : '报损信息',
										defaults : {
											disabled : true,
											width : 150
										},
										autoHeight : true,
										defaultType : 'textfield',
										items : [{
													fieldLabel : '资产编号',
													name : 'assetNo'
												}, {
													fieldLabel : '资产型号',
													name : 'model'
												}, {
													fieldLabel : '使用部门',
													name : 'department'
												}, {
													fieldLabel : '规定使用年限',
													name : 'lifeYears'
												}, {
													fieldLabel : '目前状况',
													name : 'nowStatus'
												}, {
													fieldLabel : '鉴定人',
													name : 'appraisaler'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										xtype : 'fieldset',
										title : '报损信息',
										defaults : {
											disabled : true,
											width : 150
										},
										autoHeight : true,
										style : 'margin-left: 30px;',
										defaultType : 'textfield',
										items : [{
													fieldLabel : '设备名称',
													name : 'name'
												}, {
													fieldLabel : '原始金额(RMB)',
													name : 'money',
													xtype : 'numberfield'
												}, {
													fieldLabel : '使用负责人',
													name : 'principal'
												}, {
													fieldLabel : '启用时间',
													name : 'startUseTime',
													xtype : 'datefield',
													format : 'Y-m-d'
												}, {
													fieldLabel : '报损理由',
													name : 'damageReason'
												}, {
													fieldLabel : '鉴定日期',
													name : 'appraisalTime',
													xtype : 'datefield',
													format : 'Y-m-d'
												}]
									}]
						}, {
							xtype : 'fieldset',
							title : '报损信息',
							defaults : {
								disabled : true
							},
							items : [{
										fieldLabel : '报损原因',
										width : '92%',
										xtype : 'textfield',
										name : 'remark'
									}, {
										fieldLabel : '鉴定意见',
										width : '92%',
										xtype : 'textfield',
										name : 'appraisalOpinion'
									}]
						}]
			})
}

/*
 * 建立查询资产报损信息的布局
 */
var BuildQueryForm = function() {
	QueryForm = new Ext.form.FormPanel({
		labelAlign : 'right',
		labelWidth : 70,
		width : '100%',
		bodyStyle : 'padding:20px 10px;',
		items : [{
			layout : 'column',
			border : false,
			items : [{
						bodyStyle : 'padding-top:5px',
						columnWidth : .5,
						layout : 'form',
						defaults : {
							width : 130
						},
						defaultType : 'textfield',
						items : [{
									fieldLabel : '资产编号',
									name : 'AssetNo'
								}, {
									fieldLabel : '设备名称',
									name : 'AssetName'
								}]
					}, {
						bodyStyle : 'padding-top:5px',
						columnWidth : .5,
						style : 'margin-left: 15px;',
						layout : 'form',
						defaults : {
							width : 130
						},
						defaultType : 'textfield',
						items : [{
							fieldLabel : '使用部门',
							name : 'UseDepartment',
							xtype : 'combo',
							store : new Ext.data.Store({
										proxy : new Ext.data.HttpProxy({
													url : '/FAM/DictInfoServlet'
												}),// 从数据库取数据
										reader : new Ext.data.JsonReader({
													root : 'department'
												}, ['name']), // 匹配数据库中的字段
										autoLoad : false
									}),
							emptyText : '请选择',
							mode : 'remote',
							triggerAction : 'all',
							valueField : 'name',
							displayField : 'name',
							readOnly : true
						}, {
							fieldLabel : '报损理由',
							name : 'DamageReason',
							xtype : 'combo',
							store : new Ext.data.SimpleStore({
										fields : ['text'],
										data : [['技术落后，已不使用'], ['更新换代后淘汰'],
												['残品，无修理价值']]
									}),
							emptyText : '请选择',
							mode : 'local',
							triggerAction : 'all',
							valueField : 'text',
							displayField : 'text',
							readOnly : true
						}]
					}]
		}]
	})
}

/*
 * 建立查询资产报损信息的窗口 --- 存放QueryForm
 */
var BuildQueryWindow = function() {
	QueryWindow = new Ext.Window({
				title : '查询窗口(请选择查询条件 )',
				width : 500,
				heigth : 400,
				modal : true,
				resizable : false,
				closeAction : 'hide',
				items : [QueryForm],
				buttons : [{
							iconCls : 'query',
							text : '查 询',
							handler : Query
						}, {
							iconCls : 'empty',
							text : '清 空',
							handler : function() {
								QueryForm.getForm().reset();
							}
						}],
				buttonAlign : 'center'
			})
}

/*
 * 建立存放详细资产信息的布局
 */
var BuildDetailDamageWindow = function() {
	DetailDamageWindow = new Ext.Window({
				title : '资产详细信息(查看模式)',
				width : 650,
				height : 360,
				modal : true,
				resizable : false,
				closeAction : 'hide',
				items : [DetailDamageForm],
				buttons : [{
							iconCls : 'back',
							text : '返回',
							handler : function() {
								DetailDamageWindow.hide();
							}
						}]
			})
}
var addAssetBSWindow = new Ext.Window({
	title : '添加报损信息',
	width : 650,
	height : 360,
	modal : true,
	resizable : false,
	closeAction : 'hide',
	items : [addAssetBSForm],
	buttons : [{
		iconCls : 'save',
		text : '保存',
		handler : function() {
			if (!addAssetBSForm.getForm().isValid()) {
				return;
			} else {
				var StartTime = addAssetBSForm.form.findField('StartUseTime')
						.getRawValue();
				var appraisalTime = addAssetBSForm.form
						.findField('AppraisalTime').getRawValue();
				if (appraisalTime < StartTime) {
					alert('鉴定时间应该大于启用时间');
					addAssetBSForm.form.findField('StartUseTime').setValue('');
					addAssetBSForm.form.findField('AppraisalTime').setValue('');
					return;
				}
				addAssetBSForm.getForm().submit({
							waitMsg : '正在提交数据.....',
							url : '/FAM/addAssetBsServlet', // 访问数据库修改资产报损表的信息
							// -- 参数 --
							// 除了AssetNo 和 state
							// 其他参数都可以更改
							success : function(f, action) {
								// var result =
								// Ext.util.JSON.decode(response.responseText);
								Ext.Msg.alert('成功', action.result.msg);
								if (action.result.success) {
									addAssetBSWindow.hide();
									addAssetBSForm.getForm().reset();
									insertUserLog(1); // 修改资产报损信息成功，记录用户日志 ，1
									// -- XX管理员修改资产信息成功
								} else
									insertUserLog(2); // 修改资产报损信息失败，记录用户日志 ，0
								// -- XX管理员修改资产信息失败
							}
						})
			}
		}
	}, {
		iconCls : 'empty',
		text : '清 空',
		handler : function() {
			addAssetBSForm.getForm().reset();
		}
	}, {
		iconCls : 'back',
		text : '返 回',
		handler : function() {
			addAssetBSWindow.hide();
		}
	}],
	buttonAlign : 'right'
});
var updateAssetBSWindow = new Ext.Window({
			title : '修改报损信息',
			width : 650,
			height : 360,
			modal : true,
			resizable : false,
			closeAction : 'hide',
			items : [updateAssetBSForm],
			buttons : [{
				iconCls : 'update',
				text : '修 改',
				handler : function() {
					if (!updateAssetBSForm.getForm().isValid()) {
						return;
					} else {
						var StartTime = updateAssetBSForm.form
								.findField('startUseTime').getRawValue();
						var appraisalTime = updateAssetBSForm.form
								.findField('appraisalTime').getRawValue();
						if (appraisalTime < StartTime) {
							alert('鉴定时间应该大于启用时间');
							updateAssetBSForm.form.findField('startUseTime')
									.setValue('');
							updateAssetBSForm.form.findField('appraisalTime')
									.setValue('');
							return;
						}
						updateAssetBSForm.getForm().submit({
									waitMsg : '正在修改数据.....',
									url : '/FAM/updateAssetBsServlet', // 访问数据库修改资产报损表的信息
									// -- 参数
									// --
									// 除了AssetNo
									// 和
									// state
									// 其他参数都可以更改
									success : function(f, action) {
										// var result =
										// Ext.util.JSON.decode(response.responseText);
										Ext.Msg.alert('成功', action.result.msg);
										if (action.result.success) {
											updateAssetBSWindow.hide();
											updateAssetBSForm.getForm().reset();
											insertUserLog(3); // 修改资产报损信息成功，记录用户日志
											// ，1 --
											// XX管理员修改资产信息成功
										} else
											insertUserLog(4); // 修改资产报损信息失败，记录用户日志
										// ，0 --
										// XX管理员修改资产信息失败
									}
								})
					}
				}
			}, {
				iconCls : 'empty',
				text : '清 空',
				handler : function() {
					updateAssetBSForm.getForm().reset();
				}
			}, {
				iconCls : 'back',
				text : '返 回',
				handler : function() {
					updateAssetBSWindow.hide();
				}
			}],
			buttonAlign : 'right'
		});
var BuildDeleteWindow = function() {
	DeleteWindow = new Ext.Window({
				title : '~ 删除窗口 ~',
				modal : true,
				resizable : false,
				closeAction : 'hide',
				items : [BSDeleteGridPanel],
				buttons : [{
							iconCls : 'ok',
							text : '确 定',
							handler : DeleteBS
						}, {
							iconCls : 'cancel',
							text : '取 消',
							handler : function() {
								DeleteWindow.hide();
							}
						}],
				buttonAlign : 'center'
			})
}
/*
 * 资产信息成功添加 参数 1 -- 添加成功 2 -- 添加失败 记录用户日志
 */
var insertUserLog = function(flag) {
	if (flag == 1) {
		Ext.Ajax.request({
					url : '/FAM/insertLog',
					success : Ext.emptyFn(),
					failure : Ext.emptyFn(),
					params : {
						data : 1,
						type : "添加资产报损信息",
						obj : "资产报损"
					}
				});
		DamageStore.reload();
	} else if (flag == 2) {
		Ext.Ajax.request({
					url : '/FAM/insertLog',
					success : Ext.emptyFn(),
					failure : Ext.emptyFn(),
					params : {
						data : 0,
						type : "添加资产报损信息",
						obj : "资产报损"
					}
				});
	} else if (flag == 3) {
		Ext.Ajax.request({
					url : '/FAM/insertLog',
					success : Ext.emptyFn(),
					failure : Ext.emptyFn(),
					params : {
						data : 1,
						type : "修改资产报损信息",
						obj : "资产报损"
					}
				});
		DamageStore.reload();
	} else if (flag == 4) {
		Ext.Ajax.request({
					url : '/FAM/insertLog',
					success : Ext.emptyFn(),
					failure : Ext.emptyFn(),
					params : {
						data : 0,
						type : "修改资产报损信息",
						obj : "资产报损"
					}
				});
	} else if (flag == 5) {
		Ext.Ajax.request({
					url : '/FAM/insertLog',
					success : Ext.emptyFn(),
					failure : Ext.emptyFn(),
					params : {
						data : 1,
						type : "删除资产报损信息",
						obj : "资产报损"
					}
				});
		DeleteWindow.hide();
		DamageStore.reload();
	} else if (flag = 6) {
		Ext.Ajax.request({
					url : '/FAM/insertLog',
					success : Ext.emptyFn(),
					failure : Ext.emptyFn(),
					params : {
						data : 0,
						type : "删除资产信息",
						obj : "资产报损"
					}
				});
	}
}
/*
 * viewPort布局
 */
var BuildLayout = function() {
	new Ext.Viewport({
				layout : 'border',
				items : [{
							region : 'center',
							layout : 'fit',
							items : [DamageGridPanel]
						}]
			})
}

/*
 * 初始化各个界面的布局
 */
var init = function() {
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget = 'side';

	BuildQueryForm();
	BuildDetailDamageForm();
	BuildQueryWindow();
	BuildDetailDamageWindow();
	BuildDamageGrid();
	BuildLayout();
	QueryWindow.show();
}

Ext.onReady(init);
